import axios from 'axios'

// 创建axios实例
const instance = axios.create({
    baseURL: process.env.NODE_ENV === 'development' ? 'https://jg.yyzxgl.com/dev/' : '/data/',
    timeout: 100000,
})

// 添加请求拦截器
instance.interceptors.request.use(
    config => {
        // 在发送请求之前做些什么
        //config.headers.Authorization = 'Bearer your-token';
        return config
    },
    error => {
        // 对请求配置错误做些什么
        console.error('请求配置错误:', error)

        // 抛出错误，阻止请求发送
        return Promise.reject(error)
    }
)

//响应拦截器
axios.interceptors.response.use(
    response => {
        if (response.data.status === 401) {
            window.location.href = '/account/login'
            return
        }
        //对响应数据进行处理
        return Promise.resolve(response.data)
    },
    error => {
        // 请求失败处理
        if (error.code === 'ECONNABORTED' && error.message.includes('timeout')) {
            console.log('请求超时处理')
            // 超时处理逻辑
        } else {
            console.log('其他网络错误处理')
            // 其他网络错误处理逻辑
        }
        // 对响应错误进行处理
        if (error.response && error.response.status === 401) {
            console.log('401错误处理')
            //处理401错误，例如跳转到登录页面
        }
        return Promise.reject(error)
    }
)

export default instance
